diff --git a/library/NGNPro/Records/EnumMappings.php b/library/NGNPro/Records/EnumMappings.php index 265a6a4..4bca3e3 100644 --- a/library/NGNPro/Records/EnumMappings.php +++ b/library/NGNPro/Records/EnumMappings.php @@ -1,1359 +1,1382 @@ 'Change date', - 'number' => 'Number', - 'tld' => 'TLD' - ); - - var $ranges=array(); - - var $FieldsReadOnly=array( - 'customer', - 'reseller' - ); - var $Fields=array( - 'owner' => array('type'=>'integer'), - 'info' => array('type'=>'string') - ); - - var $mapping_fields=array('id' => 'integer', - 'type' => 'string', - 'mapto' => 'string', - 'priority' => 'integer', - 'ttl' => 'integer' - ); - - var $NAPTR_services=array( - "sip" => array("service"=>"sip", - "webname"=>"SIP", - "schemas"=>array("sip:","sips:")), - "mailto" => array("service"=>"mailto", - "webname"=>"Email", - "schemas"=>array("mailto:")), - "web:http" => array("service"=>"web:http", - "webname"=>"WEB (http)", - "schemas"=>array("http://")), - "web:https" => array("service"=>"web:https", - "webname"=>"WEB (https)", - "schemas"=>array("https://")), - "x-skype:callto" => array("service"=>"x-skype:callto", - "webname"=>"Skype", - "schemas"=>array("callto:")), - "h323" => array("service"=>"h323", - "webname"=>"H323", - "schemas"=>array("h323:")), - "iax" => array("service"=>"iax", - "webname"=>"IAX", - "schemas"=>array("iax:")), - "iax2" => array("service"=>"iax2", - "webname"=>"IAX2", - "schemas"=>array("iax2:")), - "mms" => array("service"=>"mms", - "webname"=>"MMS", - "schemas"=>array("tel:","mailto:")), - "sms" => array("service"=>"sms", - "webname"=>"SMS", - "schemas"=>array("tel:","mailto:")), - "ems" => array("service"=>"ems", - "webname"=>"EMS", - "schemas"=>array("tel:","mailto:")), - "im" => array("service"=>"im", - "webname"=>"IM", - "schemas"=>array("im:")), - "npd:tel" => array("service"=>"npd+tel", - "webname"=>"Portability", - "schemas"=>array("tel:")), - "void:mailto" => array("service"=>"void:mailto", - "webname"=>"VOID(mail)", - "schemas"=>array("mailto:")), - "void:http" => array("service"=>"void:http", - "webname"=>"VOID(http)", - "schemas"=>array("http://")), - "void:https" => array("service"=>"void:https", - "webname"=>"VOID(https)", - "schemas"=>array("https://")), - "voice" => array("service"=>"voice", - "webname"=>"Voice", - "schemas"=>array("voice:","tel:")), - "tel" => array("service"=>"tel", - "webname"=>"Tel", - "schemas"=>array("tel:")), - "fax:tel" => array("service"=>"fax:tel", - "webname"=>"Fax", - "schemas"=>array("tel:")), - "ifax:mailto" => array("service"=>"ifax:mailto", - "webname"=>"iFax", - "schemas"=>array("mailto:")), - "pres" => array("service"=>"pres", - "webname"=>"Presence", - "schemas"=>array("pres:")), - "ft:ftp" => array("service"=>"ft:ftp", - "webname"=>"FTP", - "schemas"=>array("ftp://")), - "loc:http" => array("service"=>"loc:http", - "webname"=>"GeoLocation", - "schemas"=>array("http://")), - "key:http" => array("service"=>"key:http", - "webname"=>"Public key", - "schemas"=>array("http://")), - "key:https" => array("service"=>"key:https", - "webname"=>"Public key (HTTPS)", - "schemas"=>array("https://")) - ); + var $sortElements = array( + 'changeDate' => 'Change date', + 'number' => 'Number', + 'tld' => 'TLD' + ); + + var $ranges = array(); + + var $FieldsReadOnly = array( + 'customer', + 'reseller' + ); + var $Fields = array( + 'owner' => array('type'=>'integer'), + 'info' => array('type'=>'string') + ); + + var $mapping_fields = array( + 'id' => 'integer', + 'type' => 'string', + 'mapto' => 'string', + 'priority' => 'integer', + 'ttl' => 'integer' + ); + + var $NAPTR_services = array( + "sip" => array( + "service" => "sip", + "webname" => "SIP", + "schemas" => array("sip:","sips:")), + "mailto" => array( + "service" => "mailto", + "webname" => "Email", + "schemas" => array("mailto:")), + "web:http" => array( + "service" => "web:http", + "webname" => "WEB (http)", + "schemas" => array("http://")), + "web:https" => array( + "service" => "web:https", + "webname" => "WEB (https)", + "schemas" => array("https://")), + "x-skype:callto" => array( + "service" => "x-skype:callto", + "webname" => "Skype", + "schemas" => array("callto:")), + "h323" => array( + "service" => "h323", + "webname" => "H323", + "schemas" => array("h323:")), + "iax" => array( + "service" => "iax", + "webname" => "IAX", + "schemas" => array("iax:")), + "iax2" => array( + "service" => "iax2", + "webname" => "IAX2", + "schemas" => array("iax2:")), + "mms" => array( + "service" => "mms", + "webname" => "MMS", + "schemas" => array("tel:","mailto:")), + "sms" => array( + "service" => "sms", + "webname" => "SMS", + "schemas" => array("tel:","mailto:")), + "ems" => array( + "service" => "ems", + "webname" => "EMS", + "schemas" => array("tel:","mailto:")), + "im" => array( + "service" => "im", + "webname" => "IM", + "schemas" => array("im:")), + "npd:tel" => array( + "service" => "npd+tel", + "webname" => "Portability", + "schemas" => array("tel:")), + "void:mailto" => array( + "service" => "void:mailto", + "webname" => "VOID(mail)", + "schemas" => array("mailto:")), + "void:http" => array( + "service" => "void:http", + "webname" => "VOID(http)", + "schemas" => array("http://")), + "void:https" => array( + "service" => "void:https", + "webname" => "VOID(https)", + "schemas" => array("https://")), + "voice" => array( + "service" => "voice", + "webname" => "Voice", + "schemas" => array("voice:","tel:")), + "tel" => array( + "service" => "tel", + "webname" => "Tel", + "schemas" => array("tel:")), + "fax:tel" => array( + "service" => "fax:tel", + "webname" => "Fax", + "schemas" => array("tel:")), + "ifax:mailto" => array( + "service" => "ifax:mailto", + "webname" => "iFax", + "schemas" => array("mailto:")), + "pres" => array( + "service" => "pres", + "webname" => "Presence", + "schemas" => array("pres:")), + "ft:ftp" => array( + "service" => "ft:ftp", + "webname" => "FTP", + "schemas" => array("ftp://")), + "loc:http" => array( + "service" => "loc:http", + "webname" => "GeoLocation", + "schemas" => array("http://")), + "key:http" => array( + "service" => "key:http", + "webname" => "Public key", + "schemas" => array("http://")), + "key:https" => array( + "service" => "key:https", + "webname" => "Public key (HTTPS)", + "schemas" => array("https://")) + ); public function __construct($SoapEngine) { dprint("init EnumMappings"); if ($_REQUEST['range_filter']) { - list($_prefix, $_tld_filter)= explode("@",$_REQUEST['range_filter']); + list($_prefix, $_tld_filter) = explode("@", $_REQUEST['range_filter']); if ($_prefix && !$_REQUEST['number_filter']) { - $_number_filter=$_prefix.'%'; + $_number_filter = $_prefix.'%'; } else { - $_number_filter=$_REQUEST['number_filter']; + $_number_filter = $_REQUEST['number_filter']; } } else { - $_number_filter=$_REQUEST['number_filter']; - $_tld_filter=trim($_REQUEST['tld_filter']); + $_number_filter = $_REQUEST['number_filter']; + $_tld_filter = trim($_REQUEST['tld_filter']); } - $_number_filter=ltrim($_number_filter,'+'); + $_number_filter = ltrim($_number_filter, '+'); - $this->filters = array('number' => ltrim($_number_filter,'+'), - 'tld' => $_tld_filter, - 'range' => trim($_REQUEST['range_filter']), - 'type' => trim($_REQUEST['type_filter']), - 'mapto' => trim($_REQUEST['mapto_filter']), - 'owner' => trim($_REQUEST['owner_filter']) + $this->filters = array( + 'number' => ltrim($_number_filter, '+'), + 'tld' => $_tld_filter, + 'range' => trim($_REQUEST['range_filter']), + 'type' => trim($_REQUEST['type_filter']), + 'mapto' => trim($_REQUEST['mapto_filter']), + 'owner' => trim($_REQUEST['owner_filter']) ); parent::__construct($SoapEngine); $this->getAllowedDomains(); } function listRecords() { $this->showSeachForm(); - $filter=array('number' => $this->filters['number'], - 'tld' => $this->filters['tld'], - 'type' => $this->filters['type'], - 'mapto' => $this->filters['mapto'], - 'owner' => intval($this->filters['owner']), - 'customer' => intval($this->filters['customer']), - 'reseller' => intval($this->filters['reseller']) - ); + $filter = array( + 'number' => $this->filters['number'], + 'tld' => $this->filters['tld'], + 'type' => $this->filters['type'], + 'mapto' => $this->filters['mapto'], + 'owner' => intval($this->filters['owner']), + 'customer' => intval($this->filters['customer']), + 'reseller' => intval($this->filters['reseller']) + ); + // Range - $range=array('start' => intval($this->next), + $range = array('start' => intval($this->next), 'count' => intval($this->maxrowsperpage) ); // Order if (!$this->sorting['sortBy']) $this->sorting['sortBy'] = 'changeDate'; if (!$this->sorting['sortOrder']) $this->sorting['sortOrder'] = 'DESC'; $orderBy = array('attribute' => $this->sorting['sortBy'], 'direction' => $this->sorting['sortOrder'] ); // Compose query - $Query=array('filter' => $filter, + $Query = array('filter' => $filter, 'orderBy' => $orderBy, 'range' => $range ); // Insert credetials $this->SoapEngine->soapclient->addHeader($this->SoapEngine->SoapAuth); $this->log_action('getNumbers'); // Call function $result = $this->SoapEngine->soapclient->getNumbers($Query); if ($this->checkLogSoapError($result, true)) { return false; } else { - $this->rows = $result->total; - if ($this->rows && $_REQUEST['action'] != 'PerformActions' && $_REQUEST['action'] != 'Delete') { + if ($this->rows && $_REQUEST['action'] != 'PerformActions' && $_REQUEST['action'] != 'Delete') { $this->showActionsForm(); } print "
Range Owner | Phone number | TLD | Info | Owner | Type | Id | Map to | TTL | Change date | Actions | |
---|---|---|---|---|---|---|---|---|---|---|---|
%s | %s.%s | +%s | %s | %s | %s | %s | %s | %s | %s | %s | %s |
%s | %s | %s | %s | %s | %s | ||||||
%s | %s.%s | +%s | %s | %s | %s | %s | %s |
Please press on Confirm to confirm the delete. "; return true; } if ($dictionary['number']) { - $number=$dictionary['number']; + $number = $dictionary['number']; } else { - $number=$this->filters['number']; + $number = $this->filters['number']; } if ($dictionary['tld']) { - $tld=$dictionary['tld']; + $tld = $dictionary['tld']; } else { - $tld=$this->filters['tld']; + $tld = $this->filters['tld']; } if ($dictionary['mapto']) { - $mapto=$dictionary['mapto']; + $mapto = $dictionary['mapto']; } else { - $mapto=$this->filters['mapto']; + $mapto = $this->filters['mapto']; } if (!strlen($number) || !strlen($tld)) { print "
Error: missing ENUM number or TLD "; return false; } - $enum_id=array('number' => $number, + $enum_id = array('number' => $number, 'tld' => $tld ); $this->SoapEngine->soapclient->addHeader($this->SoapEngine->SoapAuth); $this->log_action('getNumber'); $result = $this->SoapEngine->soapclient->getNumber($enum_id); if (!(new PEAR)->isError($result)) { // the number exists and we make an update - $result_new=$result; + $result_new = $result; if (count($result->mappings) > 1) { foreach ($result->mappings as $_mapping) { if ($_mapping->mapto != $mapto) { - $mappings_new[]=array('type' => $_mapping->type, + $mappings_new[] = array('type' => $_mapping->type, 'mapto' => $_mapping->mapto, 'ttl' => $_mapping->ttl, 'priority' => $_mapping->priority, 'id' => $_mapping->id ); } } if (!is_array($mappings_new)) $mappings_new = array(); - $result_new->mappings=$mappings_new; + $result_new->mappings = $mappings_new; - $function=array('commit' => array('name' => 'updateNumber', + $function = array('commit' => array('name' => 'updateNumber', 'parameters' => array($result_new), 'logs' => array('success' => sprintf('ENUM mapping %s has been deleted',$mapto))) ); - $result = $this->SoapEngine->execute($function,$this->html); + $result = $this->SoapEngine->execute($function, $this->html); if ($this->checkLogSoapError($result, true)) { return false; } else { return true; } - } else { - $function=array('commit' => array('name' => 'deleteNumber', + $function = array('commit' => array('name' => 'deleteNumber', 'parameters' => array($enum_id), - 'logs' => array('success' => sprintf('ENUM number +%s under %s has been deleted',$number,$tld))), + 'logs' => array('success' => sprintf('ENUM number +%s under %s has been deleted',$number, $tld))), ); - $result = $this->SoapEngine->execute($function,$this->html); + $result = $this->SoapEngine->execute($function, $this->html); if ($this->checkLogSoapError($result, true)) { return false; } else { return true; } } unset($this->filters); } else { return false; } } function showAddForm() { if ($this->selectionActive) return; //if ($this->adminonly && !$this->filters['reseller']) return; if (!count($this->ranges)) { //print "
You must create at least one ENUM range before adding ENUM numbers"; return false; } - printf ("
"; } function getAllowedDomains() { // Filter - $filter=array('prefix' => '', + $filter = array('prefix' => '', 'customer' => intval($this->filters['customer']), 'reseller' => intval($this->filters['reseller']) ); // Range - $range=array('start' => 0, + $range = array('start' => 0, 'count' => 200 ); // Order $orderBy = array('attribute' => 'prefix', 'direction' => 'ASC' ); // Compose query - $Query=array('filter' => $filter, + $Query = array('filter' => $filter, 'orderBy' => $orderBy, 'range' => $range ); $this->SoapEngine->soapclient->addHeader($this->SoapEngine->SoapAuth); $this->log_action('getRanges'); $result = $this->SoapEngine->soapclient->getRanges($Query); if ($this->checkLogSoapError($result, true)) { return false; } else { - foreach($result->ranges as $range) { - $this->ranges[]=array('prefix' => $range->id->prefix, + foreach ($result->ranges as $range) { + $this->ranges[] = array('prefix' => $range->id->prefix, 'tld' => $range->id->tld, 'minDigits' => $range->minDigits, 'maxDigits' => $range->maxDigits ); - if (in_array($range->id->tld,$this->allowedDomains)) continue; - $this->allowedDomains[]=$range->id->tld; + if (in_array($range->id->tld, $this->allowedDomains)) continue; + $this->allowedDomains[] = $range->id->tld; $seen[$range->id->tld]++; } if (!$seen[$this->SoapEngine->default_enum_tld]) { - $this->allowedDomains[]=$this->SoapEngine->default_enum_tld; + $this->allowedDomains[] = $this->SoapEngine->default_enum_tld; } } } - function addRecord($dictionary=array()) { + function addRecord($dictionary = array()) { $prefix=''; if ($dictionary['range']) { - list($prefix,$tld)=explode('@',trim($dictionary['range'])); - $this->skipSaveProperties=true; - } else if ($dictionary['tld']) { + list($prefix, $tld)=explode('@', trim($dictionary['range'])); + $this->skipSaveProperties = true; + } elseif ($dictionary['tld']) { $tld = $dictionary['tld']; - } else if ($_REQUEST['range']) { - list($prefix,$tld)=explode('@',trim($_REQUEST['range'])); + } elseif ($_REQUEST['range']) { + list($prefix, $tld)=explode('@', trim($_REQUEST['range'])); } else { $tld = trim($_REQUEST['tld']); } if ($dictionary['number']) { $number = $dictionary['number']; } else { $number = trim($_REQUEST['number']); } - $number=$prefix.$number; + $number = $prefix.$number; if (!strlen($tld)) { - $tld=$this->SoapEngine->default_enum_tld; + $tld = $this->SoapEngine->default_enum_tld; } if (!strlen($tld) || !strlen($number) || !is_numeric($number)) { - printf ("Error: Missing TLD or number. "); + printf("
Error: Missing TLD or number. "); return false; } if ($dictionary['ttl']) { $ttl = intval($dictionary['ttl']); } else { $ttl = intval(trim($_REQUEST['ttl'])); } if (!$ttl) $ttl=3600; if ($dictionary['priority']) { $priority = intval($dictionary['priority']); } else { $priority = intval(trim($_REQUEST['priority'])); } if ($dictionary['owner']) { $owner = intval($dictionary['owner']); } else { $owner = intval(trim($_REQUEST['owner'])); } if ($dictionary['info']) { $info = $dictionary['info']; } else { $info = trim($_REQUEST['info']); } if (!$priority) $priority=5; - $enum_id=array('number' => $number, + $enum_id = array('number' => $number, 'tld' => $tld); if ($dictionary['mapto']) { $mapto = $dictionary['mapto']; } else { $mapto = trim($_REQUEST['mapto']); } if ($dictionary['type']) { $type = $dictionary['type']; } else { $type = trim($_REQUEST['type']); } - if (preg_match("/^([a-z0-9]+:\/\/)(.*)$/i",$mapto,$m)) { + if (preg_match("/^([a-z0-9]+:\/\/)(.*)$/i", $mapto, $m)) { $_scheme = $m[1]; $_value = $m[2]; - } else if (preg_match("/^([a-z0-9]+:)(.*)$/i",$mapto,$m)) { + } elseif (preg_match("/^([a-z0-9]+:)(.*)$/i", $mapto, $m)) { $_scheme = $m[1]; $_value = $m[2]; } else { $_scheme = ''; $_value = $mapto; } if (!$_value) { - $lastNumber=$this->getLastNumber(); + $lastNumber = $this->getLastNumber(); foreach($lastNumber['mappings'] as $_mapping) { if ($_mapping->type == trim($type)) { - if (preg_match("/^(.*)@(.*)$/",$_mapping->mapto,$m)) { + if (preg_match("/^(.*)@(.*)$/", $_mapping->mapto, $m)) { $_value = $number.'@'.$m[2]; break; } } } } - if (!$_scheme || !in_array($_scheme,$this->NAPTR_services[trim($type)]['schemas'])) { - $_scheme=$this->NAPTR_services[trim($type)]['schemas'][0]; + if (!$_scheme || !in_array($_scheme, $this->NAPTR_services[trim($type)]['schemas'])) { + $_scheme = $this->NAPTR_services[trim($type)]['schemas'][0]; } - $mapto=$_scheme.$_value; + $mapto = $_scheme.$_value; - $enum_number=array('id' => $enum_id, + $enum_number = array('id' => $enum_id, 'owner' => $owner, 'info' => $info, 'mappings' => array(array('type' => $type, 'mapto' => $mapto, 'ttl' => $ttl, 'priority' => $priority ) ) ); - if (!$this->skipSaveProperties=true) { + if (!$this->skipSaveProperties = true) { - $_p=array( + $_p = array( array('name' => 'enum_numbers_last_range', 'category' => 'web', 'value' => $_REQUEST['range'], 'permission' => 'customer' ), array('name' => 'enum_numbers_last_type', 'category' => 'web', 'value' => "$type", 'permission' => 'customer' ), array('name' => 'enum_numbers_last_number', 'category' => 'web', 'value' => "$number", 'permission' => 'customer' ), array('name' => 'enum_numbers_last_ttl', 'category' => 'web', 'value' => "$ttl", 'permission' => 'customer' ) ); $this->setCustomerProperties($_p); } $this->SoapEngine->soapclient->addHeader($this->SoapEngine->SoapAuth); $this->log_action('getNumber'); $result = $this->SoapEngine->soapclient->getNumber($enum_id); if ((new PEAR)->isError($result)) { - $error_msg=$result->getMessage(); - $error_fault=$result->getFault(); - $error_code=$result->getCode(); + $error_msg = $result->getMessage(); + $error_fault = $result->getFault(); + $error_code = $result->getCode(); if ($error_fault->detail->exception->errorcode == "3002") { - - $function=array('commit' => array('name' => 'addNumber', + $function = array('commit' => array('name' => 'addNumber', 'parameters' => array($enum_number), - 'logs' => array('success' => sprintf('ENUM number +%s under %s has been added',$number,$tld))) + 'logs' => array('success' => sprintf('ENUM number +%s under %s has been added',$number, $tld))) ); - $result = $this->SoapEngine->execute($function,$this->html); + $result = $this->SoapEngine->execute($function, $this->html); if ($this->checkLogSoapError($result, true)) { return false; } else { return true; } } else { - $log=sprintf("SOAP request error from %s: %s (%s): %s",$this->SoapEngine->SOAPurl,$error_msg, $error_fault->detail->exception->errorcode,$error_fault->detail->exception->errorstring); + $log = sprintf("SOAP request error from %s: %s (%s): %s", $this->SoapEngine->SOAPurl, $error_msg, $error_fault->detail->exception->errorcode, $error_fault->detail->exception->errorstring); syslog(LOG_NOTICE, $log); return false; } } else { // the number exists and we make an update - $result_new=$result; + $result_new = $result; foreach ($result->mappings as $_mapping) { - $mappings_new[]=array('type' => $_mapping->type, + $mappings_new[] = array('type' => $_mapping->type, 'mapto' => $_mapping->mapto, 'ttl' => $_mapping->ttl, 'priority' => $_mapping->priority, 'id' => $_mapping->id ); if ($_mapping->mapto == $mapto) { - printf ("
Info: ENUM mapping %s for number %s already exists",$mapto,$number); + printf("
Info: ENUM mapping %s for number %s already exists", $mapto, $number); return $result; } } - $mappings_new[]=array('type' => trim($type), + $mappings_new[] = array('type' => trim($type), 'mapto' => $mapto, 'ttl' => intval(trim($_REQUEST['ttl'])), 'priority'=> intval(trim($_REQUEST['priority'])), ); // add mapping - $result_new->mappings=$mappings_new; + $result_new->mappings = $mappings_new; - $function=array('commit' => array('name' => 'updateNumber', + $function = array('commit' => array('name' => 'updateNumber', 'parameters' => array($result_new), - 'logs' => array('success' => sprintf('ENUM number +%s under %s has been updated',$number,$tld))) + 'logs' => array('success' => sprintf('ENUM number +%s under %s has been updated',$number, $tld))) ); - $result = $this->SoapEngine->execute($function,$this->html); + $result = $this->SoapEngine->execute($function, $this->html); if ($this->checkLogSoapError($result, true)) { return false; } else { return true; } } } function getRecordKeys() { // Filter - $filter=array('number' => $this->filters['number'], + $filter = array('number' => $this->filters['number'], 'tld' => $this->filters['tld'], 'type' => $this->filters['type'], 'mapto' => $this->filters['mapto'], 'owner' => intval($this->filters['owner']), 'customer' => intval($this->filters['customer']), 'reseller' => intval($this->filters['reseller']) ); // Range - $range=array('start' => 0, + $range = array('start' => 0, 'count' => 1000 ); // Order if (!$this->sorting['sortBy']) $this->sorting['sortBy'] = 'changeDate'; if (!$this->sorting['sortOrder']) $this->sorting['sortOrder'] = 'DESC'; $orderBy = array('attribute' => $this->sorting['sortBy'], 'direction' => $this->sorting['sortOrder'] ); // Compose query - $Query=array('filter' => $filter, + $Query = array('filter' => $filter, 'orderBy' => $orderBy, 'range' => $range ); // Insert credetials $this->SoapEngine->soapclient->addHeader($this->SoapEngine->SoapAuth); $this->log_action('getNumberss'); // Call function $result = $this->SoapEngine->soapclient->getNumbers($Query); if ($this->checkLogSoapError($result, true)) { return false; } else { foreach ($result->numbers as $number) { - $this->selectionKeys[]=array('number' => $number->id->number, + $this->selectionKeys[] = array('number' => $number->id->number, 'tld' => $number->id->tld); } return true; } } - function showRecord($number) { - + function showRecord($number) + { print "
";
print "Number"; print " | ";
print "Mappings"; print " | ";
print "||||||||||||||||||||||
";
print " | ";
-
- print "
|
+
+
| ";
- print "+ | + + |
Updating number ...";
if (!$_REQUEST['number_filter'] || !$_REQUEST['tld_filter']) return;
- $enumid=array('number' => $_REQUEST['number_filter'],
+ $enumid = array('number' => $_REQUEST['number_filter'],
'tld' => $_REQUEST['tld_filter']
);
if (!$number = $this->getRecord($enumid)) {
return false;
}
- $number_old=$number;
+ $number_old = $number;
- $new_mappings=array();
+ $new_mappings = array();
/*
foreach ($number->mappings as $_mapping) {
foreach (array_keys($this->mapping_fields) as $field) {
if ($this->mapping_fields[$field] == 'integer') {
- $new_mapping[$field]=intval($_mapping->$field);
+ $new_mapping[$field] = intval($_mapping->$field);
} else {
- $new_mapping[$field]=$_mapping->$field;
+ $new_mapping[$field] = $_mapping->$field;
}
}
- $new_mappings[]=$new_mapping;
+ $new_mappings[] = $new_mapping;
}
*/
$j=0;
while ($j< count($_REQUEST['mapping_type'])) {
$mapto = $_REQUEST['mapping_mapto'][$j];
$type = $_REQUEST['mapping_type'][$j];
$id = $_REQUEST['mapping_id'][$j];
$ttl = intval($_REQUEST['mapping_ttl'][$j]);
$priority = intval($_REQUEST['mapping_priority'][$j]);
if (!$ttl) $ttl = $this->default_ttl;
if (!$priority) $priority = $this->default_priority;
if (strlen($mapto)) {
- if (preg_match("/^([a-z0-9]+:\/\/)(.*)$/i",$mapto,$m)) {
+ if (preg_match("/^([a-z0-9]+:\/\/)(.*)$/i", $mapto, $m)) {
$_scheme = $m[1];
$_value = $m[2];
- } else if (preg_match("/^([a-z0-9]+:)(.*)$/i",$mapto,$m)) {
+ } elseif (preg_match("/^([a-z0-9]+:)(.*)$/i", $mapto, $m)) {
$_scheme = $m[1];
$_value = $m[2];
} else {
$_scheme = '';
$_value = $mapto;
}
reset($this->NAPTR_services);
- if (!$_scheme || !in_array($_scheme,$this->NAPTR_services[trim($type)]['schemas'])) {
- $_scheme=$this->NAPTR_services[trim($type)]['schemas'][0];
+ if (!$_scheme || !in_array($_scheme, $this->NAPTR_services[trim($type)]['schemas'])) {
+ $_scheme = $this->NAPTR_services[trim($type)]['schemas'][0];
}
- $mapto=$_scheme.$_value;
-
- $new_mappings[]=array( 'type' => $type,
+ $mapto = $_scheme.$_value;
+ $new_mappings[] = array( 'type' => $type,
'ttl' => $ttl,
'id' => intval($id),
'mapto' => $mapto,
'priority' => $priority
);
}
$j++;
}
- $number->mappings=$new_mappings;
+ $number->mappings = $new_mappings;
- if (!is_array($number->mappings)) $number->mappings=array();
+ if (!is_array($number->mappings)) $number->mappings = array();
foreach (array_keys($this->Fields) as $item) {
- $var_name=$item.'_form';
- //printf ("
%s=%s",$var_name,$_REQUEST[$var_name]);
+ $var_name = $item.'_form';
+ //printf("
%s=%s", $var_name, $_REQUEST[$var_name]);
if ($this->Fields[$item]['type'] == 'integer') {
$number->$item = intval($_REQUEST[$var_name]);
} else {
$number->$item = trim($_REQUEST[$var_name]);
}
}
//print_r($number);
- $function=array('commit' => array('name' => 'updateNumber',
+ $function = array('commit' => array('name' => 'updateNumber',
'parameters' => array($number),
- 'logs' => array('success' => sprintf('ENUM number +%s under %s has been updated',$enumid['number'],$enumid['tld'])))
+ 'logs' => array('success' => sprintf('ENUM number +%s under %s has been updated',$enumid['number'], $enumid['tld'])))
);
- $result = $this->SoapEngine->execute($function,$this->html);
+ $result = $this->SoapEngine->execute($function, $this->html);
dprint_r($result) ;
if ($this->checkLogSoapError($result, true)) {
return false;
} else {
return true;
}
}
- function showTextBeforeCustomerSelection() {
+ function showTextBeforeCustomerSelection()
+ {
print _("Range owner");
}
}
diff --git a/library/NGNPro/Records/SipAccounts.php b/library/NGNPro/Records/SipAccounts.php
index 4ca1009..01d543d 100644
--- a/library/NGNPro/Records/SipAccounts.php
+++ b/library/NGNPro/Records/SipAccounts.php
@@ -1,1269 +1,1269 @@
'Change date',
'username' => 'Username',
'domain' => 'Domain'
);
var $store_clear_text_passwords = true;
var $default_account_type = 'postpaid';
var $group_filter_list = array(
'blocked' => 'Blocked',
'quota' => 'Quota Exceeded',
'prepaid' => 'Prepaid',
'free-pstn' => 'PSTN Access',
'anonymous' => 'Anonymous',
'anonymous-reject' => 'Reject Anonymous',
'voicemail' => 'Has Voicemail',
'missed-calls' => 'Missed Calls',
'trunking' => 'Trunking'
);
public function __construct($SoapEngine)
{
dprint("init SipAccounts");
$this->filters = array(
'username' => strtolower(trim($_REQUEST['username_filter'])),
'domain' => strtolower(trim($_REQUEST['domain_filter'])),
'firstname'=> trim($_REQUEST['firstname_filter']),
'lastname' => trim($_REQUEST['lastname_filter']),
'email' => htmlspecialchars(trim($_REQUEST['email_filter'])),
'owner' => trim($_REQUEST['owner_filter']),
'customer' => trim($_REQUEST['customer_filter']),
'reseller' => trim($_REQUEST['reseller_filter']),
'group' => trim($_REQUEST['group_filter'])
);
parent::__construct($SoapEngine);
if (strlen($this->SoapEngine->call_limit)) {
$this->platform_call_limit = $this->SoapEngine->call_limit;
} else {
$this->platform_call_limit;
}
$this->getTimezones();
}
function getRecordKeys()
{
if (preg_match("/^(.*)@(.*)$/", $this->filters['username'], $m)) {
$this->filters['username'] = $m[1];
$this->filters['domain'] = $m[2];
}
// Filter
$filter = array(
'username' => $this->filters['username'],
'domain' => $this->filters['domain'],
'firstName'=> $this->filters['firstname'],
'lastName' => $this->filters['lastname'],
'email' => $this->filters['email'],
'owner' => intval($this->filters['owner']),
'customer' => intval($this->filters['customer']),
'reseller' => intval($this->filters['reseller']),
'groups' => array($this->filters['group'])
);
// Range
$range = array(
'start' => 0,
'count' => 500
);
// Order
if (!$this->sorting['sortBy']) $this->sorting['sortBy'] = 'changeDate';
if (!$this->sorting['sortOrder']) $this->sorting['sortOrder'] = 'DESC';
$orderBy = array(
'attribute' => $this->sorting['sortBy'],
'direction' => $this->sorting['sortOrder']
);
// Compose query
$Query = array(
'filter' => $filter,
'orderBy' => $orderBy,
'range' => $range
);
// Insert credetials
$this->SoapEngine->soapclient->addHeader($this->SoapEngine->SoapAuth);
$this->log_action('getAccounts');
// Call function
$result = $this->SoapEngine->soapclient->getAccounts($Query);
if ($this->checkLogSoapError($result, true)) {
return false;
} else {
foreach ($result->accounts as $account) {
$this->selectionKeys[] = array(
'username' => $account->id->username,
'domain' => $account->id->domain
);
}
return true;
}
return false;
}
function listRecords()
{
$this->getAllowedDomains();
if (preg_match("/^(.*)@(.*)$/", $this->filters['username'], $m)) {
$this->filters['username'] = $m[1];
$this->filters['domain'] = $m[2];
}
$this->showSeachForm();
// Filter
$filter = array(
'username' => $this->filters['username'],
'domain' => $this->filters['domain'],
'firstName'=> $this->filters['firstname'],
'lastName' => $this->filters['lastname'],
'email' => $this->filters['email'],
'owner' => intval($this->filters['owner']),
'customer' => intval($this->filters['customer']),
'reseller' => intval($this->filters['reseller']),
'groups' => array($this->filters['group'])
);
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
// Range
$range = array(
'start' => intval($this->next),
'count' => intval($this->maxrowsperpage)
);
// Order
if (!$this->sorting['sortBy']) $this->sorting['sortBy'] = 'changeDate';
if (!$this->sorting['sortOrder']) $this->sorting['sortOrder'] = 'DESC';
$orderBy = array(
'attribute' => $this->sorting['sortBy'],
'direction' => $this->sorting['sortOrder']
);
// Compose query
$Query = array(
'filter' => $filter,
'orderBy' => $orderBy,
'range' => $range
);
// Insert credentials
$this->SoapEngine->soapclient->addHeader($this->SoapEngine->SoapAuth);
$this->log_action('getAccounts');
// Call function
$result = $this->SoapEngine->soapclient->getAccounts($Query);
if ($this->checkLogSoapError($result, true)) {
return false;
} else {
$this->rows = $result->total;
if ($this->rows && $action != 'PerformActions' && $action != 'Delete') {
$this->showActionsForm();
}
print "
Id | SIP account"; $this->showSortCaret('username'); if ($this->sorting['sortBy'] == 'domain') { print " (domain "; $this->showSortCaret('domain'); print ")"; } print " | Full name | Email address | Timezone | Capacity | Quota | Balance | Owner | Change date"; $this->showSortCaret('changeDate'); print " | Actions |
---|---|---|---|---|---|---|---|---|---|---|
%s | %s | %s %s | %s | %s | %s | %s | %s | %s | %s | %s |
Please press on Confirm to confirm the delete. "; return true; } if ($dictionary['username']) { $username = $dictionary['username']; } else { $username = $_REQUEST['key']; } if ($dictionary['domain']) { $domain = $dictionary['domain']; } else { $domain = $this->filters['domain']; } if (!strlen($username) || !strlen($domain)) { print "
Error: missing SIP account username or domain. "; return false; } $account = array( 'username' => $username, 'domain' => $domain ); $function = array( 'commit' => array( 'name' => 'deleteAccount', 'parameters' => array($account), 'logs' => array('success' => sprintf('SIP account %s@%s has been deleted',$_REQUEST['key'], $this->filters['domain']) ) ) ); foreach (array_keys($this->filters) as $_filter) { if ($_filter == 'username' || $_filter == 'domain') continue; $new_filters[$_filter] = $this->filters[$_filter]; } $this->filters = $new_filters; return $this->SoapEngine->execute($function, $this->html); } function showAddForm() { if ($this->filters['username']) return; if (!count($this->allowedDomains)) { print "
Error: Missing SIP domain");
return false;
}
if (!$this->validDomain($domain)) {
print "Error: invalid domain name";
return false;
}
if ($dictionary['fullname']) {
$name_els = explode(" ", $dictionary['fullname']);
} else {
$name_els = explode(" ", trim($_REQUEST['fullname']));
}
if (strlen($name_els[0])) {
$firstName = $name_els[0];
} else {
$firstName='Account';
}
if (strlen($name_els[1])) {
$j=1;
while ($j < count($name_els)) {
$lastName .= $name_els[$j].' ';
$j++;
}
} else {
if ($username==" Error in getAllowedDomains from %s: %s (%s): %s",
$this->SoapEngine->SOAPurl,
$error_msg,
$error_fault->detail->exception->errorcode,
$error_fault->detail->exception->errorstring
);
//return false;
} else {
foreach ($result->domains as $_domain) {
if ($this->validDomain($_domain->domain)) {
$this->allowedDomains[] = $_domain->domain;
}
}
}
}
function showPasswordReminderForm($accounts = array())
{
print " Please choose new passwords for your account, if you leave them empty no change will be performed";
print _("Login account reminder");
print "
";
print _("Update passwords");
print "";
print " (for ";
print $account;
print ")
";
print _("Sip Account Reminder/Password Reset");
print "